/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package PaquetesDePrueba;

import Controladores.*;
import DataTypes.DataGrupo;
import DataTypes.DataUsuario;
import Hndlr.HndlrGrupo;
import Hndlr.HndlrUsuario;
import enums.enumVisibilidad;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

/**
 *
 * @author Sebas
 */
public class CtrlCrearGrupoTest {
    
    public CtrlCrearGrupoTest() {
    }

    @BeforeClass
    public static void setUpClass() throws Exception {
    }

    @AfterClass
    public static void tearDownClass() throws Exception {
    }
    
    @Before
    public void setUp() {
    }
    
    @After
    public void tearDown() {
        
        //Eliminar grupos creados en el sistema.
         HndlrGrupo hGrupo = HndlrGrupo.getInstance();
         int tam = hGrupo.listarGrupos().size();
         for (int i = 0; i < tam ;i++){
            
             hGrupo.eliminarGrupo("Grupo "+(i+1));
             
         }
    }

    /**
     * Test of crearGrupo method, of class CtrlCrearGrupo.
     */
    @Test
    public void testCrearGrupo() {
        System.out.println("crearGrupo");
        HndlrGrupo hGrupo = HndlrGrupo.getInstance();
        DataGrupo dg = new DataGrupo();
        CtrlCrearGrupo instance = new CtrlCrearGrupo();
        HndlrUsuario hUsr = HndlrUsuario.getInstance();
        
        DataUsuario du = new DataUsuario("creador@hotmail.com", null, null, null, null, null, null, null, true, enumVisibilidad.PRIVADO,null, true, true);
        
        try {
            hUsr.AltaUsuario(du);
        } catch (IOException ex) {
            Logger.getLogger(CtrlCrearGrupoTest.class.getName()).log(Level.SEVERE, null, ex);
        }
        dg.setCreador("creador@hotmail.com");
        
        int cont = 0;
        assertEquals(hGrupo.listarGrupos().size(), cont);
        
        
        for (int i=0;i<10; i++){
            
            dg.setNombre("Grupo "+(i+1));
            instance.crearGrupo(dg);
            cont++;
            assertEquals(hGrupo.listarGrupos().size(), cont);
            
        }
    }

    /**
     * Test of listarGrupos method, of class CtrlCrearGrupo.
     */
    @Test
    public void testListarGrupos() {
        System.out.println("listarGrupos");
        CtrlCrearGrupo instance = new CtrlCrearGrupo();
        int expResult = 0;
        int result = instance.listarGrupos().size();
        assertEquals(expResult, result);
        // TODO review the generated test code and remove the default call to fail.
    }
}
